package com.foreknow.demo01;
/*
* 逻辑运算符：表示两个逻辑类型(boolean)的操作
* 与(&&)：A && B  表示一定要满足A和B两个条件
* 或(||)： A || B 表示至少要满足A和B两个条件之一
* 非(!)：!A 表示A的逻辑取反
*
* 注意：在逻辑运算符中会存在短路的现象
* */
public class Operationdemo05 {
    public static void main(String[] args) {
//        int a = 5;
//        int b = 3;
//        int c = 2;
//
//        boolean x1 = (a>b)&&(b>c);
//        boolean s2 = (a>b)&&(b<c);
//        System.out.println(x1);
//        System.out.println(s2);
//
//        boolean x3 = (a>b)||(b>c);
//        boolean x4 = (a>b)||(b<c);
//        boolean x5 = (a<b)||(b<c);
//        System.out.println(x3);
//        System.out.println(x4);
//        System.out.println(x5);
//
//        System.out.println("---------------------------------");
//
//        boolean x6 = !(a>b);
//        System.out.println(x6);

        //短路的现象
        int i = 5;
        boolean x = (i++ > 5) && (++i < 6);
        System.out.println(x);
        System.out.println(i);

        //面试题
        //& (位于) 与 && 的区别？
        //&它不是短路的 而&&它是短路的

    }
}
